import pandas as pd
index=['王猛','李珊','赵胜','刘文']
columns=['语文','数学','英语']
# #创建字典
dict={'语文':[110,93,88,112],'数学':[120,98,100,89],'英语':[112,108,100,97]}
df1 = pd.DataFrame(dict,index)
print(df1)
# #df1.to_excel('chengji.xlsx',index_label='姓名')


#函数
# print('查看元素值',df1.values)
# print('查看所有元素类型',df1.dtypes)
# print('行标签',df1.index)
# print('列标签',df1.columns)
# print('行列转置',df1.T)
# print('前3行',df1.head(3))
# print('后3行',df1.tail(3))
# print('查看行行列',df1.shape)
# print('查看数据',df1.info)


#数据选取
#1按标签选取
#1）直接选取
# print('选取所有学生语文成绩：\n',df1['语文'])
# print('选取所有语文数学成绩：\n',df1[['语文','英语']]['王猛':'赵胜'])
# print('选取李珊及后面学生的所有成绩：\n',df1[['语文','数学','英语']]['李珊':])
# print('选取语文大于100且数学大于110:\n',df1[(df1['语文']>100&(df1['数学']>110))])
#
#
# print('选取王猛的所有成绩:\n',df1.loc['王猛'])
# print('选取王猛和刘文的所有成绩：\n',df1.loc[['王猛','刘文']])
# print('选取王猛到赵胜的所有成绩：\n',df1.loc['王猛':'赵胜'])
# print('选取王猛到赵胜的语文和英语成绩：\n',df1.loc['王猛':'赵胜',['语文','英语']])


#2按索引选取数据
print('选取王猛的所有成绩:\n',df1.iloc[0])
print('选取王猛和刘文的所有成绩：\n',df1.iloc[[0,3]])
print('选取王猛到赵胜的所有成绩：\n',df1.iloc[0:3])
print('选取王猛到赵胜的语文和英语成绩：\n',df1.iloc[0:3,[0,2]])





import pandas as pd
index=['王猛','李珊','赵胜','刘文']
columns=['语文','数学','英语']
# #创建字典
dict={'语文':[110,93,88,112],'数学':[120,98,100,89],'英语':[112,108,100,97]}
df1 = pd.DataFrame(dict,index)
print(df1)
##数据修改
#1）修改索引
df1.index =['陈1','陈0','陈6','陈4']
df1.columns=['物理','数学','生物']
print(df1)
df2=df1.rename({'陈1':'陈9'})
print(df1)
print(df2)
df1.rename({'数学':'语文'},axis='columns',inplace=True)
print(df1)

# 2修改数据
df1['语文']=110
print(df1)
df1['语文']=[102,122,95,100]
print(df1)
df1.loc['陈0']=[110,120,90]
print(df1)
df1.iloc[[0,1],[0,1]]=[[110,130],[101,102]]
print(df1)



#3)按列增加数据
#1直接赋值
df1['数学']=110
print(df1)
df1['数学']=[102,122,95,100]
print(df1)
#2（1）在指定位置插入一列，insert（）函数
df1.insert(1,'地理',[100,120,90,110])
print(df1)
#2）按行增加数据
df1.loc['陈2']=[102,122,95,100,108]
print(df1)


##数据删除
df1.drop(['陈0'],inplace=True)
print(df1)
df1=df1.drop(index=['陈4','陈2'])
print(df1)
df1=df1.drop(columns=['物理','语文'])
print(df1)





# #数据的保存与导入
import pandas as pd
df=pd.read_excel('城镇单位就业人员年平均工资.xlsx')
print(df)
print(type(df))
df.to_excel('工资表.xlsx')
print(df)

结果：
   Unnamed: 0.1      Unnamed: 0   2020年   2019年  ...  2006年  2005年  2004年  2003年
0             0            城镇单位   97379   90501  ...  20856  18200  15920  13969
1             1        农、林、牧、渔业   48540   39340  ...   9269   8207   7497   6884
2             2             采矿业   96674   91068  ...  24125  20449  16774  13627
3             3             制造业   82783   78147  ...  18225  15934  14251  12671
4             4  电力、燃气及水的生产和供应业  116728  107733  ...  28424  24750  21543  18574
5             5             建筑业   69986   65580  ...  16164  14112  12578  11328
6             6     交通运输、仓储和邮政业  100642   97050  ...  24111  20911  18071  15753
7             7  信息传输、计算机服务和软件业  177544  161352  ...  43435  38799  33449  30897
8             8          批发和零售业   96521   89047  ...  17796  15256  13012  10894
9             9          住宿和餐饮业   48833   50346  ...  15236  13876  12618  11198

[10 rows x 20 columns]
<class 'pandas.core.frame.DataFrame'>
   Unnamed: 0.1      Unnamed: 0   2020年   2019年  ...  2006年  2005年  2004年  2003年
0             0            城镇单位   97379   90501  ...  20856  18200  15920  13969
1             1        农、林、牧、渔业   48540   39340  ...   9269   8207   7497   6884
2             2             采矿业   96674   91068  ...  24125  20449  16774  13627
3             3             制造业   82783   78147  ...  18225  15934  14251  12671
4             4  电力、燃气及水的生产和供应业  116728  107733  ...  28424  24750  21543  18574
5             5             建筑业   69986   65580  ...  16164  14112  12578  11328
6             6     交通运输、仓储和邮政业  100642   97050  ...  24111  20911  18071  15753
7             7  信息传输、计算机服务和软件业  177544  161352  ...  43435  38799  33449  30897
8             8          批发和零售业   96521   89047  ...  17796  15256  13012  10894
9             9          住宿和餐饮业   48833   50346  ...  15236  13876  12618  11198






import pandas as pd
df1 = pd.read_excel('城镇单位就业人员年平均工资.xlsx')
print(df1)
print(type(df1))
df1.to_excel('工资表.xlsx',index_label='产业')

df1=df1.drop(index=[10,11,12,13,14,15,16,17,18,19],columns=['2001年','2002年'])
print('删除金融业及以后就业人员年均工资/n',df1)

df1=df1.iloc[:,0:7]
print('选取2015-2020/n',df1)

print('采矿业和制造业平均工资/n',df1.loc[[2,3]])

print('2020年平均工资大于120000的行业/n',df1.loc[df1['2020年']>120000])
print('2020年平均工资小于50000的行业/n',df1.loc[df1['2020年']<50000])


结果
   Unnamed: 0   2020年   2019年   2018年  ...  2004年  2003年    2002年    2001年
0              城镇单位   97379   90501   82413  ...  15920  13969  12373.0  10834.0
1          农、林、牧、渔业   48540   39340   36466  ...   7497   6884      NaN      NaN
2               采矿业   96674   91068   81429  ...  16774  13627      NaN      NaN
3               制造业   82783   78147   72088  ...  14251  12671      NaN      NaN
4    电力、燃气及水的生产和供应业  116728  107733  100162  ...  21543  18574      NaN      NaN
5               建筑业   69986   65580   60501  ...  12578  11328      NaN      NaN
6       交通运输、仓储和邮政业  100642   97050   88508  ...  18071  15753      NaN      NaN
7    信息传输、计算机服务和软件业  177544  161352  147678  ...  33449  30897      NaN      NaN
8            批发和零售业   96521   89047   80551  ...  13012  10894      NaN      NaN
9            住宿和餐饮业   48833   50346   48260  ...  12618  11198      NaN      NaN
10              金融业  133390  131405  129837  ...  24299  20780      NaN      NaN
11             房地产业   83807   80157   75281  ...  18467  17085      NaN      NaN
12         租赁和商务服务业   92924   88190   85147  ...  18723  17020      NaN      NaN
13  科学研究、技术服务和地质勘查业  139851  133459  123343  ...  23351  20442      NaN      NaN
14    水利、环境和公共设施管理业   63914   61158   56670  ...  12884  11774      NaN      NaN
15       居民服务和其他服务业   60722   60232   55343  ...  13680  12665      NaN      NaN
16              教育业  106474   97681   92383  ...  16085  14189      NaN      NaN
17    卫生、社会保障和社会福利业  115449  108903   98118  ...  18386  16185      NaN      NaN
18        文化、体育和娱乐业  112081  107708   98621  ...  20522  17098      NaN      NaN
19        公共管理和社会组织  104487   94369   87932  ...  17372  15355      NaN      NaN

[20 rows x 21 columns]
<class 'pandas.core.frame.DataFrame'>
删除金融业及以后就业人员年均工资/n        Unnamed: 0   2020年   2019年   2018年  ...  2006年  2005年  2004年  2003年
0            城镇单位   97379   90501   82413  ...  20856  18200  15920  13969
1        农、林、牧、渔业   48540   39340   36466  ...   9269   8207   7497   6884
2             采矿业   96674   91068   81429  ...  24125  20449  16774  13627
3             制造业   82783   78147   72088  ...  18225  15934  14251  12671
4  电力、燃气及水的生产和供应业  116728  107733  100162  ...  28424  24750  21543  18574
5             建筑业   69986   65580   60501  ...  16164  14112  12578  11328
6     交通运输、仓储和邮政业  100642   97050   88508  ...  24111  20911  18071  15753
7  信息传输、计算机服务和软件业  177544  161352  147678  ...  43435  38799  33449  30897
8          批发和零售业   96521   89047   80551  ...  17796  15256  13012  10894
9          住宿和餐饮业   48833   50346   48260  ...  15236  13876  12618  11198

[10 rows x 19 columns]
选取2015-2020/n        Unnamed: 0   2020年   2019年   2018年   2017年   2016年   2015年
0            城镇单位   97379   90501   82413   74318   67569   62029
1        农、林、牧、渔业   48540   39340   36466   36504   33612   31947
2             采矿业   96674   91068   81429   69500   60544   59404
3             制造业   82783   78147   72088   64452   59470   55324
4  电力、燃气及水的生产和供应业  116728  107733  100162   90348   83863   78886
5             建筑业   69986   65580   60501   55568   52082   48886
6     交通运输、仓储和邮政业  100642   97050   88508   80225   73650   68822
7  信息传输、计算机服务和软件业  177544  161352  147678  133150  122478  112042
8          批发和零售业   96521   89047   80551   71201   65061   60328
9          住宿和餐饮业   48833   50346   48260   45751   43382   40806
采矿业和制造业平均工资/n   Unnamed: 0  2020年  2019年  2018年  2017年  2016年  2015年
2        采矿业  96674  91068  81429  69500  60544  59404
3        制造业  82783  78147  72088  64452  59470  55324
2020年平均工资大于120000的行业/n        Unnamed: 0   2020年   2019年   2018年   2017年   2016年   2015年
7  信息传输、计算机服务和软件业  177544  161352  147678  133150  122478  112042
2020年平均工资小于50000的行业/n   Unnamed: 0  2020年  2019年  2018年  2017年  2016年  2015年
1   农、林、牧、渔业  48540  39340  36466  36504  33612  31947
9     住宿和餐饮业  48833  50346  48260  45751  43382  40806
